/**
 * 
 */
package com.enjoyor.soa.traffic.api.service.dubbo.idcs;

import com.enjoyor.soa.traffic.api.dto.idcs.RltBayonetDeviceDto;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

import java.util.List;

/**
 * 卡口相关服务
 * @author ly
 *
 */
public interface DubboIDCSBayonetService {
	
	/**
	 * 获取卡口和点位关联列表
	 * @param systemKey 系统秘钥
	 * @param token 系统令牌
	 * @param bayonetIds 卡口编号列表
	 * @return List<RltbayonetDevice> 卡口和设备点位关联列表
	 */
	public ResultPojo getRltBayonetDeviceList(String systemKey, String token, List<String> bayonetIds );
	
	/**
	 * 新增卡口和点位关联
	 * @param systemKey 系统秘钥
	 * @param token 系统令牌
	 * @param bayonetId 卡口编号
	 * @param DeviceIds 点位编号列表
	 * @return String 新增的卡口和点位关联编号
	 */
	public ResultPojo insertRltBayonetDevice(String systemKey, String token, List<RltBayonetDeviceDto> list);
	
	/**
	 * 删除卡口和点位关联
	 * @param systemKey 系统秘钥
	 * @param token 系统令牌
	 * @param bayonetId 卡口编号
	 * @return 删除的卡口和点位关联编号
	 */
	public ResultPojo deleteRltBayonetDevice(String systemKey, String token, String bayonetId );
	
	
	/**
	 * 获取卡口状态列表
	 * @param systemKey 系统秘钥
	 * @param token 系统令牌
	 * @param bayonetIds 卡口编号列表
	 * @param start_time 记录开始时间
	 * @param end_time 记录结束时间
	 * @return List<BayonetStatusDto> 卡口状态列表
	 */
	public ResultPojo getBayonetStatusList(String systemKey, String token, String regionId, String start_time, String end_time);

	
	/**
	 * 
	 * @Title: getBayonetStatusListByDev
	 * @Description: 根据卡口编号获取卡口状态列表
	 * @param systemKey
	 * @param token
	 * @param devIds 多个用“,”隔开
	 * @param start_time
	 * @param end_time
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo getBayonetStatusListByDev(String systemKey, String token, String devIds, String start_time, String end_time);
	/**
	 * 获取卡口布控等级列表
	 * @param systemKey 系统秘钥
	 * @param token 系统令牌
	 * @param bayonetIds 卡口编号列表
	 * @return
	 */
	public ResultPojo getBayonetControlLevelList(String systemKey, String token, List<String> bayonetIds);

	/**
	 * 获取卡口状态统计
	 * @param systemKey 系统秘钥
	 * @param token 系统令牌
	 * @return
	 */
	public ResultPojo getBayonetStatusCount(String systemKey, String token);
}
